package com.hzjy.api.beans;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzjy.common.annotation.Excel;

/**
 * 项目对象 hzjy_project
 * 
 * @author hzjy
 * @date 2020-08-24
 */
public class HzjyProject
{
    private static final long serialVersionUID = 1L;

    /** 项目 */
    private Long projectId;

    /** 产品ID */
    @Excel(name = "产品ID")
    private String productId;

    /** 项目名 */
    @Excel(name = "项目名")
    private String projectName;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private Long projectType;

    /** 创作性质 */
    @Excel(name = "创作性质")
    private Long creationType;

    /** 创作完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创作完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationFinishTime;

    /** 创作完成地点 */
    @Excel(name = "创作完成地点")
    private String creationFinishSite;

    /** 发表状态【0：未发表，1：已发表】 */
    @Excel(name = "发表状态【0：未发表，1：已发表】")
    private Long publishedState;

    /** 首次发表时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首次发表时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishedFirstTime;

    /** 发表的国家 */
    @Excel(name = "发表的国家")
    private String publishedCountry;

    /** 发表的城市 */
    @Excel(name = "发表的城市")
    private String publishedCity;

    /** 项目简介 */
    @Excel(name = "项目简介")
    private String projectExplain;

    /** 具备的权限 */
    @Excel(name = "具备的权限")
    private String possessPower;

    /** 1全部0部分 */
    @Excel(name = "1全部0部分")
    private Integer possessPowerCheckAll;

    /** 挂牌出售的权限 */
    @Excel(name = "挂牌出售的权限")
    private String tradingPower;

    /** 1全部0部分 */
    @Excel(name = "1全部0部分")
    private Integer tradingPowerCheckAll;

    /** 许可类型【0：专有许可，1：非专有许可】 */
    @Excel(name = "许可类型【0：专有许可，1：非专有许可】")
    private Integer permissionType;

    /** 许可开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "许可开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date permissionStartTime;

    /** 许可结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "许可结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date permissionEndTime;

    /** 许可的区域 */
    @Excel(name = "许可的区域")
    private String permissionRegion;

    //著作权人
    private HzjyProjectAuthor hzjyProjectAuthor;

    //拥有权力数组
    private String[] possessPowerStr;

    //挂牌标的权力数组
    private String[] tradingPowerStr;

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectType(Long projectType) 
    {
        this.projectType = projectType;
    }

    public Long getProjectType() 
    {
        return projectType;
    }
    public void setCreationType(Long creationType) 
    {
        this.creationType = creationType;
    }

    public Long getCreationType() 
    {
        return creationType;
    }
    public void setCreationFinishTime(Date creationFinishTime) 
    {
        this.creationFinishTime = creationFinishTime;
    }

    public Date getCreationFinishTime() 
    {
        return creationFinishTime;
    }
    public void setCreationFinishSite(String creationFinishSite) 
    {
        this.creationFinishSite = creationFinishSite;
    }

    public String getCreationFinishSite() 
    {
        return creationFinishSite;
    }
    public void setPublishedState(Long publishedState) 
    {
        this.publishedState = publishedState;
    }

    public Long getPublishedState() 
    {
        return publishedState;
    }
    public void setPublishedFirstTime(Date publishedFirstTime) 
    {
        this.publishedFirstTime = publishedFirstTime;
    }

    public Date getPublishedFirstTime() 
    {
        return publishedFirstTime;
    }
    public void setPublishedCountry(String publishedCountry) 
    {
        this.publishedCountry = publishedCountry;
    }

    public String getPublishedCountry() 
    {
        return publishedCountry;
    }
    public void setPublishedCity(String publishedCity) 
    {
        this.publishedCity = publishedCity;
    }

    public String getPublishedCity() 
    {
        return publishedCity;
    }
    public void setProjectExplain(String projectExplain) 
    {
        this.projectExplain = projectExplain;
    }

    public String getProjectExplain() 
    {
        return projectExplain;
    }
    public void setPossessPower(String possessPower) 
    {
        this.possessPower = possessPower;
    }

    public String getPossessPower() 
    {
        return possessPower;
    }
    public void setPossessPowerCheckAll(Integer possessPowerCheckAll) 
    {
        this.possessPowerCheckAll = possessPowerCheckAll;
    }

    public Integer getPossessPowerCheckAll() 
    {
        return possessPowerCheckAll;
    }
    public void setTradingPower(String tradingPower) 
    {
        this.tradingPower = tradingPower;
    }

    public String getTradingPower() 
    {
        return tradingPower;
    }
    public void setTradingPowerCheckAll(Integer tradingPowerCheckAll) 
    {
        this.tradingPowerCheckAll = tradingPowerCheckAll;
    }

    public Integer getTradingPowerCheckAll() 
    {
        return tradingPowerCheckAll;
    }
    public void setPermissionType(Integer permissionType) 
    {
        this.permissionType = permissionType;
    }

    public Integer getPermissionType() 
    {
        return permissionType;
    }
    public void setPermissionStartTime(Date permissionStartTime) 
    {
        this.permissionStartTime = permissionStartTime;
    }

    public Date getPermissionStartTime() 
    {
        return permissionStartTime;
    }
    public void setPermissionEndTime(Date permissionEndTime) 
    {
        this.permissionEndTime = permissionEndTime;
    }

    public Date getPermissionEndTime() 
    {
        return permissionEndTime;
    }
    public void setPermissionRegion(String permissionRegion)
    {
        this.permissionRegion = permissionRegion;
    }

    public String getPermissionRegion() {
        return permissionRegion;
    }

    public HzjyProjectAuthor getHzjyProjectAuthor() {
        return hzjyProjectAuthor;
    }

    public void setHzjyProjectAuthor(HzjyProjectAuthor hzjyProjectAuthor) {
        this.hzjyProjectAuthor = hzjyProjectAuthor;
    }

    public String[] getPossessPowerStr() {
        return possessPowerStr;
    }

    public void setPossessPowerStr(String[] possessPowerStr) {
        this.possessPowerStr = possessPowerStr;
    }

    public String[] getTradingPowerStr() {
        return tradingPowerStr;
    }

    public void setTradingPowerStr(String[] tradingPowerStr) {
        this.tradingPowerStr = tradingPowerStr;
    }
}
